package com.example.backend.mapper;

import com.example.backend.entity.User;
import com.github.pagehelper.util.StringUtil;

public class UserMapperProvider {
    /**
     * 获取修改用户的sql语句
     * @param user
     * @return  sql
     */
    public String getUpdateUserSql(User user) {
        StringBuffer sql = new StringBuffer("update user set id = #{id} ");
        if(user.getPwd()!=null && user.getPwd().length()>0){
            sql.append(" ,pwd = #{pwd} ");
        }
        if(user.getYhm()!=null && user.getYhm().length()>0){
            sql.append(" ,yhm = #{yhm} ");
        }
        if(user.getYhtx()!=null && user.getYhtx().length()>0){
            sql.append(" ,yhtx = #{yhtx} ");
        }
        if(user.getSjh()!=null && user.getSjh().length()>0){
            sql.append(" ,sjh = #{sjh} ");
        }
        if(user.getAge()!=null){
            sql.append(" ,age = #{age} ");
        }
        if(StringUtil.isNotEmpty(user.getSex())){
            sql.append(" ,sex = #{sex} ");
        }

        sql.append(" where id = #{id}");
        return sql.toString();
    }

    /**
     * 获取查询用户的SQL
     * @param user
     * @return sql
     */
    public String getSelectUsersSql(User user){
        StringBuffer sql = new StringBuffer("select id,yhm,pwd,yhtx,sjh,age,sex from user where 1=1 ");
        if(user.getYhm()!=null && user.getYhm().length()>0){
            sql.append(" and yhm like concat('%',#{yhm},'%') ");
        }
        if(user.getPwd()!=null && user.getPwd().length()>0){
            sql.append(" and pwd = #{pwd} ");
        }
        if(user.getYhtx()!=null && user.getYhtx().length()>0){
            sql.append(" and yhtx like concat('%',#{yhtx},'%') ");
        }
        if(user.getSjh()!=null && user.getSjh().length()>0){
            sql.append(" and sjh like concat('%',#{sjh},'%') ");
        }
        if(user.getAge()!=null){
            sql.append(" and age like concat('%',#{age},'%') ");
        }
        if(user.getSex()!=null && user.getSex().length()>0){
            sql.append(" and sex = #{sex} ");
        }

        return sql.toString();
    }
    
}
